﻿Class KOCarmen
    Inherits ObjektKO
    Public Sub New(ByVal Spieler As Integer)
        MyBase.New(Spieler, KIGabeEinsatzstellen.RundenAnfang)
        StartwerteLaden()
    End Sub
    Public Sub New(ByVal Spieler As Integer, ByVal Gabefuellstand As Integer, ByVal Gabenart As Gabemodi, ByVal neuSternkosten As Integer)
        MyBase.New(Spieler, Gabefuellstand, Gabenart, neuSternkosten, KIGabeEinsatzstellen.RundenAnfang)
        StartwerteLaden()
    End Sub

    Private Sub StartwerteLaden()
        KOID = "CARMEN"
        Armee = Armeen.AC.ToString
        Musik = "Carmen"
        Bild = GetBildID()
        Select Case DataSettings.CommanderWarsGameModus
            Case CommanderWarsGameModi.AdvanceWars
                Sternkosten = 1000
                Gabekosten = 0
                SpezialgabeKosten = 4
                Gaben = Objektverwalter.GetKO(Bild).KOBeschreibung.Gaben
                Gaben(1) = Gaben(0)
            Case CommanderWarsGameModi.AdvanceWars2
                Sternkosten = 1000
                Gabekosten = 2
                SpezialgabeKosten = 3
                Gaben = Objektverwalter.GetKO(Bild).KOBeschreibung.Gaben
            Case CommanderWarsGameModi.AdvanceWarsDS
                Sternkosten = 1000
                Gabekosten = 2
                SpezialgabeKosten = 3
                Gaben = Objektverwalter.GetKO(Bild).KOBeschreibung.Gaben
            Case CommanderWarsGameModi.AdvanceWarsDC
                Sternkosten = 1000
                Gabekosten = 0
                SpezialgabeKosten = 6
                Gaben = Objektverwalter.GetKO(Bild).KOBeschreibung.Gaben
            Case Else
                Sternkosten = 1000
                Gabekosten = 2
                SpezialgabeKosten = 3
                Gaben = Objektverwalter.GetKO(Bild).KOBeschreibung.Gaben
        End Select
        KORange = 3
        KOname = Objektverwalter.GetKO(Bild).KOBeschreibung.Name
        Gaben = Objektverwalter.GetKO(Bild).KOBeschreibung.Gaben

        KOLaden()
    End Sub

    Public Overrides Sub Gabeeinsetzen(Optional ByVal OhneFunktion As Boolean = False)

        AufLandschaftsStaerke = 60
        If OhneFunktion = False Then
            KeinGabeleisteAuffuellung()
            AnimationEigene("ANDYGABE", 2)
        End If
        GabeEingesetzt()
    End Sub

    Public Overrides Sub KOLaden()
        AufLandschaftsStaerke = 30
        AufLandschaftsUntergrund = New String() {"BASIS", "STADT", "MINE", "WERFT", "FLUGHAFEN", "HQ", "LABOR", "TURM"}
        If DataSettings.CommanderWarsGameModus = CommanderWarsGameModi.AdvanceWarsDC Then
            'Dafuer sinkt die Feuerkraft aber drastisch
            WetterReichweitenbonus(0) = 0
        End If
    End Sub

    Public Overrides Sub SpezialGabeeinsetzen(Optional ByVal OhneFunktion As Boolean = False)
        If DataSettings.CommanderWarsGameModus = CommanderWarsGameModi.AdvanceWars Then

            AufLandschaftsStaerke = 70
            If OhneFunktion = False Then
                KeinGabeleisteAuffuellung()
                AnimationEigene("ANDYGABE", 2)
            End If
            GabeEingesetzt()
        Else
            If OhneFunktion = False Then
                Dim WZeit As Integer = 2
                AnimationEigene("SPEZIALGABE", WZeit)
                BackbufferSpiel.AddAnimation("SCREENFLASH", WZeit, New Point, True, ObjektSpielfeld.TopLayer)
                StadtUebernehmen(1)
            End If
            OffensivStaerke = New Feuerkrafttabelle120
            AufLandschaftsStaerke = 70
            GabeEingesetzt()
        End If
    End Sub

    Public Overrides Function GetPowerScript(ByVal Power As Integer) As KOCustom.Power.PowerScript
        Select Case Power
            Case 1
                Dim P As New KOCustom.Power.PowerScript
                P.Effects.Add(New KOCustom.Power.PowerScript.EffectNoPowerCharge)
                Return P
            Case 2
                Dim P As New KOCustom.Power.PowerScript
                P.Effects.Add(New KOCustom.Power.PowerScript.EffectGetHalfMoney)
                P.Effects.Add(New KOCustom.Power.PowerScript.EffectGetEnemyBuilding(1))
                Return P
            Case Else
                Return Nothing
        End Select
    End Function

    Public Overrides Sub KOFrame()
        'Wir machen nichts
    End Sub
End Class

Public Class KOBeschreibungCarmen
    Inherits ObjektKOBeschreibung
    Public Sub New()
        Name = "Carmen"
        Fein = "Geographie"
        Nein = "Teenager"
        Beschreibung = New String() {"Eine Diebin aus Amber Corona", ", dadurch kennt sie sich in Staedten", "aus. Sie liebt verbrechen."}
        Stil = New String() {"Durch ihre Kenntnisse kaempfen", "ihre Truppen gegen Basen besser."}
        Gabebeschreibung = New String() {"Ihre Truppen kaempfen noch besser gegen Basen. Gabeleisten fuellen sich nicht mehr auf."}
        SpezialgabeBeschreibung = New String() {"Sie uebernimmt eine zufaellige Stadt. Ihre Truppen kaempfen perfekt gegen Basen."}
        GabeKosten = 2
        Spezialgabekosten = 3
        Gaben = New String() {"Metropolition", "Harte Eroberung"}
        Synergie = New Decimal() {2, 0.5#, 0.5#, -1.5#, -1.5#, -1, 0.5#}
        KONamen = New String() {"VARLOT", "ERIC", "EDWARD", "KANBEI", "SONJA", "MINAMOTO", "MARY"}
        Doppelgabenamen = New String() {"Erkennbare Undurchsichtigkeit", "Doppel-Gabe", "Doppel-Gabe", "Doppel-Gabe", "Doppel-Gabe", "Doppel-Gabe", "Doppel-Gabe"}
        Gabesaetze = New String() {"Wo in aller Welt sind eure Faehigkeiten zu kommandieren?" _
                                       , "Ihr seid so unglaublich poebelhaft." _
                                       , "Anmut ist alles was man braucht." _
                                       , "Du dachtest du waerst sicher wenn du dich versteckst?" _
                                       , "Eure Dummheit wird nur von eurer Unfaehigkeit uebertroffen." _
                                       , "Denk dir einen Plan einer Frau des Handelns aus und dann handle wie eine Frau des Denkens"}
        Siegsaetze = New String() {"Das schlimme daran die beste in etwas zu sein, ist das es immer jemanden gibt, der versucht zu zeigen, dass er besser ist." _
                                , "Wir sehen uns beim naechsten Verbrechen." _
                                , "Wettbewerb ist gut, aber ich bevorzuge es jemanden zu sehen der darin auch gut ist."}
        Tauschsaetze = New String() {"Ich schluepfe einfach leise rein." _
                                    , "Sicher auf diesem Kampf liegt nicht mein Hauptaugenmerk."}
        Doppelgabesaetze = New DoppelGabesatz() {New DoppelGabesatz("VARLOT", "CARMEN", "Ich sehe ich habe die richtige Entscheidung mit dir getroffen.", "Ich bin immer die Richtige.") _
                                              , New DoppelGabesatz("VARLOT", "CARMEN", "Du scheinst unbemerkt entkommen zu sein.", "Planung ist alles.") _
                                              , New DoppelGabesatz("CARMEN", "VARLOT", "...umso leiser du bist umso mehr hoerst du.", "Gut gesprochen.") _
                                              , New DoppelGabesatz("CARMEN", "VARLOT", "Leider ist unser kleines Katz und Maus Spiel beendet.", "Schade! Sie waeren die Richtigen Sklaven gewesen.")}
        Niederlagesaetze = New String() {"Was? Aber ich bin doch die Beste.", _
                                      "Wie kann das sein? Ihr habt euch die ganze Zeit versteckt!"}
    End Sub
End Class
